<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">
    <ui:define name="content">
        <h:form id="forma">
            <p:messages id="mensajes"/>
            <p:dataTable id="tablaClientes" var="cte" value="#{gestorClientes.listaClientes}">
                <p:column headerText="Cedula" style="width:20%">
                    <h:outputText value="#{cte.cedula}"/>
                </p:column>
                <p:column headerText="Nombre" style="width:45%">
                    <h:outputText value="#{cte.nombre}"/>
                </p:column>
                <p:column headerText="Apellido" style="width:45%">
                    <h:outputText value="#{cte.apellido}"/>
                </p:column>
                <p:column headerText="Tipo" style="width:45%">
                    <h:outputText value="#{cte.tipo}"/>
                </p:column>
                <p:column headerText="Estado" style="width:45%">
                    <h:outputText value="#{cte.estado}"/>
                </p:column>
                <p:column headerText="Correo Electronico" style="width:25%">
                    <h:outputText value="#{cte.correoelectronico}">
                    </h:outputText>   
                </p:column>
                <p:column style="width:5%">  
                    <p:commandLink id="editLink" 
                                   update=":editarClienteDlg" 
                                   value="Editar"
                                   action="#{gestorClientes.setClienteSelected(cte)}"
                                   oncomplete="dlgEdit.show()"/>

                </p:column>
                <p:column style="width:5%">  
                    <p:commandLink id="desacLink" 
                                   update=":editarClienteDlg" 
                                   value="Desactivar o Activar"
                                   action="#{gestorClientes.setClienteSelected(cte)}"
                                   oncomplete="dlgDesa.show()"/>

                </p:column>
                <p:column>
                    <p:commandLink value="Eliminar"
                                   action="#{gestorClientes.setClienteSelected(cte)}"
                                   oncomplete="confirmation.show()"/>
                </p:column>

            </p:dataTable>

        </h:form>

        <!-- Dialogo para Editar o Crear clientes -->
        <p:dialog id="editarClienteDlg" widgetVar="dlgEdit" 
                  header="Crear/Modificar Cliente" closable="false" 
                  dynamic="true">
            <h:form id="frmEdit">
                <p:messages id="msgs"/>
                <h:panelGrid id="display" columns="3">
                    <h:outputLabel for="nombre" value="Nombre: *" />
                    <p:inputText id="nombre" value="#{gestorClientes.cliente.nombre}" label="Nombre" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="nombre" id="msgNombre" display="icon"/>

                    <h:outputLabel for="apellido" value="Apellido: *" />
                    <p:inputText id="apellido" value="#{gestorClientes.cliente.apellido}" label="Apellido" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="apellido" id="msgApellido" display="icon"/>

                    <h:outputLabel for="contrasena" value="Contraseña: *" />
                    <p:inputText id="contrasena" value="#{gestorClientes.cliente.contrasena}" label="Contrasena" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="contrasena" id="msgContrasena" display="icon"/>

                    <h:outputLabel for="correo" value="Correo: *" />
                    <p:inputText id="correo" value="#{gestorClientes.cliente.correoelectronico}" label="Correo" required="true" size="30">
                        <f:validateLength minimum="2" />
                    </p:inputText>
                    <p:message for="correo" id="msgCorreo" display="icon"/>

                    <h:outputLabel for="tipoID1" value="Tipo Rol: *" />
                    <p:selectOneMenu id="tipoID1" value="#{gestorClientes.cliente.tipo}">
                        <f:selectItems value="#{gestorClientes.tipoRolValues()}" />
                    </p:selectOneMenu>
                    <p:message for="tipoID1" display="icon"/>



                </h:panelGrid>

                <center>
                    <p:commandButton id="btnEditarCliente" 
                                     value="Guardar" 
                                     update="msgs"
                                     actionListener="#{gestorClientes.modificarCliente()}"/>

                    <p:commandButton id="btnCerrar" value="Cerrar" update=":forma" onclick="dlgEdit.hide()"/>
                </center>
            </h:form> 
        </p:dialog>


        <!-- Dialogo de confirmación para eliminar -->
        <p:confirmDialog id="confirmDialog" message="¿Esta seguro de Eliminar Cliente?"  
                         header="Verificar Eliminar Cliente"
                         appendTo="@(body)"
                         severity="alert"
                         widgetVar="confirmation">  
            <h:form>
                <p:commandButton id="confirm" 
                                 value="Si" 
                                 update=":forma" 
                                 oncomplete="confirmation.hide()"  
                                 actionListener="#{gestorClientes.eliminarCliente()}" />  
                <p:commandButton id="decline" value="No" onclick="confirmation.hide()" type="button" />   
            </h:form>       
        </p:confirmDialog> 

        <!-- Dialogo para Editar o Crear clientes -->
        <p:dialog id="editarActiDlg" widgetVar="dlgDesa" 
                  header="Desactivar o Activar Cliente" closable="false" 
                  dynamic="true">
            <h:form id="frmDesa">
                <p:messages id="msgs"/>
                <h:panelGrid id="display" columns="3">

                    <h:outputLabel for="esta1" value="Tipo Estado: *" />
                    <p:selectOneMenu id="esta1" value="#{gestorClientes.cliente.estado}">
                        <f:selectItems value="#{gestorClientes.tipoEstadoValues()}" />
                    </p:selectOneMenu>
                    <p:message for="esta1" display="icon"/>

                </h:panelGrid>

                <center>
                    <p:commandButton id="btnEditarCliente" 
                                     value="Guardar" 
                                     update="msgs"
                                     actionListener="#{gestorClientes.modificarCliente()}"/>

                    <p:commandButton id="btnCerrar" value="Cerrar" update=":forma" onclick="dlgDesa.hide()"/>
                </center>
            </h:form> 
        </p:dialog>       



    </ui:define>
</ui:composition>
